package com.spy.material.domain;

import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.spy.common.annotation.Excel;
import com.spy.common.core.domain.BaseEntity;

/**
 * 库存明细对象 inventory_detail
 *
 * @author twc
 * @date 2025-11-09
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("库存明细实体")
public class InventoryDetail extends BaseEntity
        {
private static final long serialVersionUID = 1L;

        /** 主键ID */
        @ApiModelProperty("主键ID")
        private Long id;

        /** 物料名称 */
                @Excel(name = "物料名称")
        @ApiModelProperty("物料名称")
        private String materialName;

        /** 物料类别 */
                @Excel(name = "物料类别")
        @ApiModelProperty("物料类别")
        private String materialCategory;

        /** 单位 */
                @Excel(name = "单位")
        @ApiModelProperty("单位")
        private String unit;

        /** 配送点 */
                @Excel(name = "配送点")
        @ApiModelProperty("配送点")
        private String fullName;

        /** 交易类型（入库/出库） */
                @Excel(name = "交易类型", readConverterExp = "入=库/出库")
        @ApiModelProperty("交易类型（入库/出库）")
        private String transactionType;

        /** 单据编号 */
                @Excel(name = "单据编号")
        @ApiModelProperty("单据编号")
        private String documentNumber;

        /** 交易数量 */
                @Excel(name = "交易数量")
        @ApiModelProperty("交易数量")
        private Integer quantity;

        /** 交易日期 */
                @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
                @Excel(name = "交易日期", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty("交易日期")
        private LocalDateTime transactionDate;

        /** 当前库存数量 */
                @Excel(name = "当前库存数量")
        @ApiModelProperty("当前库存数量")
        private Integer currentStock;

        /** 库存ID（外键） */
                @Excel(name = "库存ID", readConverterExp = "外=键")
        @ApiModelProperty("库存ID（外键）")
        private Long inventoryId;

        /** 采购单ID（外键） */
                @Excel(name = "采购单ID", readConverterExp = "外=键")
        @ApiModelProperty("采购单ID（外键）")
        private Long purchaseOrderId;

        /** 出库单ID（外键） */
                @Excel(name = "出库单ID", readConverterExp = "外=键")
        @ApiModelProperty("出库单ID（外键）")
        private Long outboundOrderId;

                                                                                                                                                                                                            }